package com.iman.manjusri.web.shop;

 
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.iman.manjusri.service.BuyCartService;
import com.iman.manjusri.service.CourseInfoService;
import com.iman.manjusri.service.SalesPromotionsService;
import com.iman.manjusri.service.UserService;
import com.iman.manjusri.web.BaseController;
/*
 * 
 */

/*
 * *************************************************************************
 * @文件名称: ShopController.java
 *
 * @包路径  : com.iman.manjusri.web.shop 
 *				 
 * @版权所有:   TSW   科技有限公司 (C) 2014
 *
 * @类描述:  
 * 
 * @创建人:   wangxiaolei  
 *
 * @创建时间: 2015年3月11日 - 上午12:46:52 
 *
 * @修改记录:
   -----------------------------------------------------------------------------------------------
             时间						|		修改人		|		修改的方法		|		修改描述                                                                
   -----------------------------------------------------------------------------------------------
							|					|					|                                       
   ----------------------------------------------------------------------------------------------- 	
 
 **************************************************************************
 */
@Controller
@RequestMapping(value="/shop/*")
public class CartController  extends BaseController {

	@Autowired
	CourseInfoService  courseInfoService;
	
	@Autowired
	SalesPromotionsService  salesPromotionsService;
	
	@Autowired
	BuyCartService  BuyCartService;
	
	@Autowired
	UserService userService;

	/**
	 *  Function:
	 *  功能说明：
	 *	 使用说明：
	 *  @author  wangxiaolei  DateTime 2015年3月19日 上午12:03:18
	 *	返回类型: Map<String,Integer>    
	 *  @param request
	 *  @param cartId
	 *  @return
	 */
	@RequestMapping(value = "/addcart/{course}")
	@ResponseBody
	public Map<String, Integer> addCart(HttpServletRequest request, @Valid @PathVariable Long courseId) {
		
		Long userId = this.getUserIdInSession(request);
		Map<String, Integer> result = new HashMap<String, Integer>();
		//用户没登陆
		if(userId == null){
			result.put("state", 45);
		}
		try {
			// 添加购物车
			if (BuyCartService.addCourseToCart(userId, courseId) > -1) {
				// 插入成功
				result.put("state", 1);
			} else {
				// 插入失败
				result.put("state", 0);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}
	
  
 

/**
 * 
 *  Function:
 *  功能说明：获取数量
 *	 使用说明：
 *  @author  wangxiaolei  DateTime 2015年3月19日 上午12:55:51
 *	返回类型: Map<String,Integer>    
 *  @param request
 *  @return
 */
@RequestMapping(value = "/cartcnt")
@ResponseBody
public Map<String, Integer> cartCnt(HttpServletRequest request ) {
	
	Long userId = this.getUserIdInSession(request);
	Map<String, Integer> result = new HashMap<String, Integer>();
	//用户没登陆
	if(userId == null){
		result.put("cnt",0);
	}
	int cnt = BuyCartService.getCartWithCourseCount(userId) ;
	result.put("cnt", cnt);
	return result;
}

}
